1. Field of the Invention
The present invention relates to a microprocessor control apparatus, a microprocessor control method, and a microprocessor control program for controlling the operating speed of a microprocessor.
2. Related Art
In the development of embedded systems, balancing competing goals for assurance of service quality and reduction of energy consumption is required. Power consumption of a microprocessor (the amount of energy consumed per unit time), which accounts for a large proportion of energy consumption, increases by about the third power of its operating speed (e.g., Power=alpha*Capacitance*Voltage*Voltage*Frequency, Voltage∝Frequency, where “∝” represents proportionality and “alpha” denotes a constant). Quality of service can be interpreted as a deadline or time limit for processing. Execution time of a task (a certain unit of processing) is inversely proportional to processing speed, and to minimize the energy consumption of task processing, it is best in principle to make a microprocessor run at the lowest speed within a deadline. In recent years, processors that permit to change its processing speed during execution have been brought into practical use, which is enabling reduction of energy consumption based on this principle.
However, it is difficult to appropriately adjust the operating speed of a processor when a general program is processed. For example, since changing a processor's operating speed requires certain instruction cycles (e.g., several hundred cycles), a task has to be a relatively large processing unit. In general, a large processing unit includes iterations and/or branches and an associated calculation amount is difficult to predict. Also, the deadline for a program is not given on a per-task basis but as (a tuple of) time(s) within which an executable statement in a program should be reached. Known speed control techniques can be generally classified into ones based on manual task division (an advantage: speed adjustment of fine granularity, a disadvantage: task division is manually done) and ones based on feedback control (an advantage: requires no task division, a disadvantage: speed adjustment of coarse granularity).